Implicit Dynamic Frames: Combining Dynamic Frames and Separation Logic

نویسندگان

  • Jan Smans
  • Bart Jacobs
  • Frank Piessens
چکیده

The dynamic frames approach has proven to be a powerful formalism for specifying and verifying object-oriented programs. However, it requires writing and checking many frame annotations. In this paper, we propose a variant of the dynamic frames approach that eliminates the need to explicitly write and check frame annotations. Reminiscent of separation logic’s frame rule, programmers write access assertions inside preand postconditions instead of writing frame annotations. From the precondition, one can then infer an upper bound on the set of locations writable or readable by the corresponding method. We implemented our approach in a tool, and used it to automatically verify several challenging programs, including subject-observer, iterator and linked list.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Implicit Dynamic Frames: Combining dynamic frames and separation logic (soundness proof)

The dynamic frames approach has proven to be a powerful formalism for specifying and verifying object-oriented programs. However, it requires writing and checking many frame annotations. In this paper, we propose a variant of the dynamic frames approach that eliminates the need to explicitly write and check frame annotations. In this paper, we improve upon the classical dynamic frames approach ...

متن کامل

The Relationship between Separation Logic and Implicit Dynamic Frames

Separation logic is a concise method for specifying programs that manipulatedynamically allocated storage. Partially inspired by separation logic, Implicit DynamicFrames has recently been proposed, aiming at first-order tool support. In this paper,we precisely connect the semantics of these two logics. We define a logic whose syntaxsubsumes both that of a standard separation log...

متن کامل

From Explicit to Implicit Dynamic Frames in Concurrent Reasoning for Java

In [9] we presented an approach to permission-based reasoning about concurrent Java programs in the context of the interactive program verifier KeY [1] which is based on Dynamic Logic and explicit dynamic frames [6, 13]. We argued for the explicit approach advocating the modular use (w.r.t. sequential vs. concurrent) and overall preciseness. It was noted, however, that changing our specificatio...

متن کامل

Implicit Dynamic Frames ( draft )

An important, challenging problem in the verification of imperative programs with shared, mutable state is the frame problem in the presence of data abstraction. That is, one must be able to specify and verify upper bounds on the set of memory locations a method can read and write without exposing that method’s implementation. Separation logic is now widely considered the most promising solutio...

متن کامل

An Automatic Encoding from VeriFast Predicates into Implicit Dynamic Frames

VeriFast is a symbolic-execution-based verifier, based on separation logic specifications. Chalice is a verifier based on verification condition generation, which employs specifications in implicit dynamic frames. Recently, theoretical work has shown how the cores of these two verification logics can be formally related. However, the mechanisms for abstraction in the two tools are not obviously...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2009